package com.sunlee.common.service.dao;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sunlee.common.core.dao.BaseDao;
import com.sunlee.common.service.dto.req.CategoryProductDTO;
import com.sunlee.common.service.entity.CategoryEntity;
import com.sunlee.common.service.entity.ProductEntity;
import com.sunlee.common.service.entity.vo.CategoryVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 分类表
 *
 * @author sunlee
 */
@Mapper
public interface CategoryDao extends BaseDao<CategoryEntity> {

    List<CategoryEntity> getAllCategoryList(@Param("level") Integer level);

    CategoryEntity getById(@Param("id") Long id);

    List<CategoryEntity> existSubCategory(@Param("ids") Long[] ids);

    List<CategoryVO> getValidCategoryList();

    IPage<ProductEntity> getCategoryByIdAndLevel(Page<ProductEntity> page, @Param("req") CategoryProductDTO request);
}